Skip to content

feat: Implement Context-Aware Footer Across the Application #93#95

Merged
imuniqueshiv merged 1 commit into
imuniqueshiv:mainfrom
BikramMondal5:issue-93
Jul 8, 2026
Merged

feat: Implement Context-Aware Footer Across the Application #93#95
imuniqueshiv merged 1 commit into
imuniqueshiv:mainfrom
BikramMondal5:issue-93

Conversation

@BikramMondal5

@BikramMondal5 BikramMondal5 commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

closes #93

Description

Introduced a context-aware footer experience by updating the global Footer component. The landing page (/) preserves the existing rich marketing footer, while all authenticated and nested internal pages (such as /dashboard, /meetings, /policies, etc.) display a clean, distraction-free, and responsive compact footer.

Key changes:

  • Integrated useLocation hook in Footer.jsx to dynamically switch between footer styles.
  • Created the compact footer UI including a mini brand logo, copyright, version pill (v1.0.0), links (Privacy Policy, Terms of Service, GitHub Repo), and a "Back to Top" utility.
  • Preserved existing layout visibility constraints (such as hiding the footer completely on the /login route).

Type of Change

  • New Feature
  • Bug Fix
  • Documentation Update
  • Refactor
  • Performance Improvement
  • Security Improvement
  • Other

Related Issue

Closes # [Insert Issue Number Here]

Testing

Verified the changes locally using the project's verification checklist:

  • Ran npx prettier client/src/components/Footer.jsx --check to confirm correct code formatting.
  • Ran npm run lint to verify static analysis; confirmed no new errors or warnings were introduced in the modified files.
  • Verified successful production assets compilation by running npm run build.
  • Manually confirmed responsive layouts on mobile, tablet, and desktop dimensions.
  • Tested locally
  • Existing functionality verified
  • No new warnings or errors

Checklist

  • Code follows project conventions
  • Documentation updated where required
  • No unnecessary files included
  • Changes have been tested
  • Ready for review

Summary by CodeRabbit

  • New Features
    • Added a route-aware footer that shows a compact version on non-landing pages and the full multi-column footer on the landing page.
    • Introduced clearer footer actions, including version display, privacy/terms links, an external project link, and a “Back to top” button.
  • Bug Fixes
    • Footer navigation now behaves more consistently across pages, with in-page links handled appropriately.

@vercel

vercel Bot commented Jul 7, 2026

Copy link
Copy Markdown

@BikramMondal5 is attempting to deploy a commit to the Shiv Raj Singh's projects Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai

coderabbitai Bot commented Jul 7, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The Footer component now detects the current route via useLocation and conditionally renders a compact footer (brand, copyright, version badge, privacy/terms links, GitHub link, back-to-top) for non-landing pages, while preserving the existing multi-column footer for the landing page.

Changes

Context-Aware Footer

Layer / File(s) Summary
Route detection
client/src/components/Footer.jsx
Router import extended with useLocation; location and isLandingPage (pathname === "/") variables added.
Conditional footer rendering
client/src/components/Footer.jsx
Component early-returns a compact footer when not on the landing page; otherwise renders the original multi-column footer (project info, quick links, resources, built-with tech list), with the tech-list <li> reformatted across multiple lines.

Estimated code review effort: 2 (Simple) | ~10 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Router
  participant Footer
  participant Page

  Router->>Footer: provide current location
  Footer->>Footer: compute isLandingPage
  alt isLandingPage is false
    Footer->>Page: render compact footer
  else isLandingPage is true
    Footer->>Page: render full multi-column footer
  end
Loading
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning The new footer logic fits the main goal, but it appears to render the compact footer on /login instead of hiding it. Add an explicit /login exclusion so the footer stays hidden there while preserving the landing and compact application variants.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the route-aware footer change.
Out of Scope Changes check ✅ Passed The PR stays focused on Footer.jsx and only adds the requested context-aware footer behavior.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Warning

⚠️ This pull request shows signs of AI-generated slop (description_diff_mismatch). It has been flagged by CodeRabbit slop detection and should be reviewed carefully.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (2)
client/src/components/Footer.jsx (2)

21-107: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Duplicated brand/GitHub/back-to-top markup across both footer variants.

The brand+GitHub link+back-to-top-button logic is duplicated between the compact (lines 21-107) and full (lines 110-334) footers. Consider extracting small subcomponents (e.g., BackToTopButton, GitHubLink) to reduce duplication and keep both variants consistent as they evolve.

Also applies to: 110-334

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@client/src/components/Footer.jsx` around lines 21 - 107, The footer markup
for the brand, GitHub link, and back-to-top control is duplicated between the
compact and full variants in Footer.jsx. Extract these repeated pieces into
shared subcomponents or reusable JSX helpers (for example, a GitHub link
component and a BackToTopButton component) and use them in both branches so the
two footer variants stay consistent and easier to maintain.

86-94: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Missing aria-label on compact GitHub link for consistency.

The full footer's GitHub link (line 164) has an explicit aria-label, but the compact variant's equivalent link does not. Minor accessibility/consistency nit.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@client/src/components/Footer.jsx` around lines 86 - 94, The compact GitHub
link in Footer.jsx is missing the same accessibility label used by the full
footer variant. Update the GitHub anchor in the compact footer block to include
an explicit aria-label matching the existing GitHub link pattern so both
versions stay consistent; use the Footer component’s GitHub link markup as the
reference point.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@client/src/components/Footer.jsx`:
- Around line 72-85: The Privacy Policy and Terms of Service anchors in Footer
are dead links because they use href="#" with preventDefault(), so update the
Footer component to either point these items to real destinations or render them
as disabled/non-interactive until the routes exist. Use the existing /policies
page as the source of truth and adjust the link behavior in the Footer JSX so
the labels no longer act as no-ops.

---

Nitpick comments:
In `@client/src/components/Footer.jsx`:
- Around line 21-107: The footer markup for the brand, GitHub link, and
back-to-top control is duplicated between the compact and full variants in
Footer.jsx. Extract these repeated pieces into shared subcomponents or reusable
JSX helpers (for example, a GitHub link component and a BackToTopButton
component) and use them in both branches so the two footer variants stay
consistent and easier to maintain.
- Around line 86-94: The compact GitHub link in Footer.jsx is missing the same
accessibility label used by the full footer variant. Update the GitHub anchor in
the compact footer block to include an explicit aria-label matching the existing
GitHub link pattern so both versions stay consistent; use the Footer component’s
GitHub link markup as the reference point.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 00bd4aff-0174-43b9-9f40-74087b1dcd01

📥 Commits

Reviewing files that changed from the base of the PR and between 3a34369 and 228c28c.

📒 Files selected for processing (1)
  • client/src/components/Footer.jsx

Comment thread client/src/components/Footer.jsx
@vercel

vercel Bot commented Jul 8, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
meetonmemory Ready Ready Preview, Comment Jul 8, 2026 2:28am

@imuniqueshiv

Copy link
Copy Markdown
Owner

@BikramMondal5 Thank you for your contribution and for implementing the context-aware footer feature! 🚀

I appreciate the effort you put into keeping this PR focused on the requested functionality. The route-aware footer behavior is implemented cleanly, the landing page retains the full marketing footer, and the compact footer provides a much better experience across the application's internal pages.

Thank you as well for validating the changes with formatting, linting, and build checks before submitting the PR. Everything looks good, and I'm happy to merge your contribution.

If you enjoyed contributing to MeetOnMemory, consider giving the repository a ⭐. I look forward to seeing more of your contributions in the future. Happy coding! 💙

@imuniqueshiv imuniqueshiv merged commit b6113ed into imuniqueshiv:main Jul 8, 2026
8 checks passed
@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown

🎉 Thank you for your contribution! Your pull request has been successfully merged. We appreciate your effort in improving MeetOnMemory, @BikramMondal5!

@imuniqueshiv imuniqueshiv added enhancement New feature or request good first issue Good for newcomers ECSoC26 Eligible for Elite Coders Summer of Code 2026 automated scoring. good-issue +10 XP ECSoC26-L1 frontend labels Jul 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ECSoC26-L1 ECSoC26 Eligible for Elite Coders Summer of Code 2026 automated scoring. enhancement New feature or request frontend good first issue Good for newcomers good-issue +10 XP

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement Context-Aware Footer Across the Application

2 participants